package cn.zhx.xa.system.dao;


import cn.zhx.xa.model.dto.role.SysRoleAddOrUpdateDto;
import cn.zhx.xa.model.dto.role.SysRoleSearchDto;
import cn.zhx.xa.model.entity.SysRole;
import cn.zhx.xa.system.mapper.SysRoleMapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Component;

@Component
public class SysRoleDao extends ServiceImpl<SysRoleMapper, SysRole> {

    public Page<SysRole> findByPage(Page pageInfo, SysRoleSearchDto sysRoleSearchDto) {
        return lambdaQuery()
                .like(StringUtils.isNotEmpty(sysRoleSearchDto.getRoleName()), SysRole::getRoleName, sysRoleSearchDto.getRoleName())
                .orderBy(true, true, SysRole::getCreateTime)
                .page(pageInfo);
    }


    public void updateSysRole(SysRoleAddOrUpdateDto sysRoleUpdateDto) {
        lambdaUpdate()
                .set(StringUtils.isNotEmpty(sysRoleUpdateDto.getRoleName()),SysRole::getRoleName,sysRoleUpdateDto.getRoleName())
                .set(StringUtils.isNotEmpty(sysRoleUpdateDto.getRoleCode()),SysRole::getRoleCode,sysRoleUpdateDto.getRoleCode())
                .eq(SysRole::getId,sysRoleUpdateDto.getId())
                .update();
    }

}
